package com.gylang.springmini.factory;

import com.gylang.springmini.registry.SingletonBeanRegistry;

/**
 * 工厂配置
 *
 * @author gylang
 * data 2021/11/13
 */
public interface ConfigurableBeanFactory extends BeanFactory, SingletonBeanRegistry {

    /**
     * 单例
     */
    String SCOPE_SINGLETON = "singleton";

    /**
     * 原型（多列）
     */
    String SCOPE_PROTOTYPE = "prototype";

    /**
     * 设置父级工厂
     *
     * @param parentBeanFactory 父级工厂
     * @throws IllegalStateException 如果此工厂已与父 BeanFactory 关联
     */
    void setParentBeanFactory(BeanFactory parentBeanFactory) throws IllegalStateException;



}
